/**
 * Copyright (C) 2022-2023
 * All rights reserved, Designed By www.tonetn.com
 * 注意：
 * 本软件为www.tonetn.com开发研制，未经购买不得使用
 * 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 * 一经发现盗用、分享等行为，将追究法律责任，后果自负
 */
package com.xunyin.modules.shareorder.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xunyin.domain.BaseDomain;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author admin
 * @date 2022-09-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_share_order")
public class TShareOrder extends BaseDomain {
    /** ID */
    @TableId
    private Integer id;

    /** 运营团队主体ID */
    private Integer mainId;

    /** 区域id */
    private Integer areaId;

    /** 下单时间 */
    private Date orderTime;

    /** 微信订单号 */
    private String transactionId;

    /** 订单号 */
    private String orderNo;

    /** 应用用户ID(微信openid,支付宝userid) */
    private String appUserId;

    /** 应用类型  1表示小程序*/
    private Integer appType;

    /** 用户手机号 */
    private String userPhone;

    /** 会员ID */
    private Integer memberUserId;

    /** 地址名称 */
    private String adressName;

    /** 经度 */
    private String longitude;

    /** 纬度 */
    private String latitude;

    /** 预约时间串 */
    private String teaSubscribeTimes;

    /** 服务时间 */
    private String teaServerTime;

    /** 服务开始时间 */
    private Date teaServerStartTime;

    /** 服务结束时间 */
    private Date teaServerEndTime;

    /** 支付订单号 */
    private String appOrderNo;

    /** 支付结果 */
    private Integer resultFlag;

    /** 支付时间 */
    private Date payTime;

    /** 支付方式 */
    private Integer payType;

    /** 订单金额 */
    private BigDecimal orderMondey;

    /** 支付金额 */
    private BigDecimal payMoney;

    /** 会员抵扣时长 */
    private BigDecimal deductTimelong;

    /** 总优惠额度 */
    private Integer allDiscountMoney;

    /** 优惠id */
    private Integer discountId;

    /** 优惠方式 */
    private Integer discountType;

    /** 优惠额度 */
    private Integer discountQuota;

    /** 优惠事由 */
    private String discountReason;

    /** 退款订单号 */
    private String refundOrderNo;

    /** 退款应用订单号 */
    private String refundAppOrderNo;

    /** 退款时间 */
    private Date refundTime;

    /** 退款金额 */
    private BigDecimal refundMoney;

    /** 退款状态 */
    private Integer returnFlag;

    /** 错误代码 */
    private String errCode;

    /** 错误代码描述 */
    private String errCodeDesc;

    /** 页面ID */
    private String pageId;

    /** 服务状态:
     8：已断电
     6：已通电 */
    private Integer serviceStatus;

    /** 是否结算 */
    private Integer settleFlag;

    /** 备注 */
    private String remark;

    /** 订单状态(0：待支付 1：已支付 2：服务中 3：已取消 4：已完成  5：已退款) */
    private Integer orderStatus;

    /** 二维码 */
    private byte[] twoDimensionalCode;

    private Integer parentOrderId;

    /** 订单状态 */
    private Integer status;

    /** 门禁授权码 */
    private String authCode;

    /** 门店ID */
    private Integer storeId;

    /** 门店名称 */
    private String storeName;

    /** 房间id */
    private Integer storeRoomId;

    /** 房间名称 */
    private String storeRoomName;


    /** 删除日期 */
    private Date deleteTime;

    /** 创建用户ID */
    private Integer createUserId;

    /** 更新用户ID */
    private Integer updateUserId;

    private Integer useHourCouponId;

    private BigDecimal hourNum;

    private BigDecimal hourCouponMoney;

    private Integer useCouponId;

    private BigDecimal couponMoney;

    private BigDecimal timeInterval;

    private Integer fzFlag;

    private String fzResult;

    public void copy(TShareOrder source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
